#include "genesis.h"
#include "polymesh.h"
#ifndef _MESHS_H_
#define _MESHS_H_

const Vect3D_f16 cube1_coord[10] = {
 {FIX16(-1.99069816), FIX16(0.00049365365), FIX16(3.91964705)},
 {FIX16(2.14561428), FIX16(1.6784224e-05), FIX16(0.1129453)},
 {FIX16(-2.57235656), FIX16(-1.41421348), FIX16(0.00049365365)},
 {FIX16(-1.99069816), FIX16(-0.00049365365), FIX16(-4.00379902)},
 {FIX16(2.14561428), FIX16(-1.6784224e-05), FIX16(-0.15645187)},
 {FIX16(2.14561428), FIX16(-0.048083258), FIX16(-0.020305916)},
 {FIX16(-2.70029721), FIX16(-0.84230667), FIX16(0.0)},
 {FIX16(-0.21337114), FIX16(-0.73114837), FIX16(-0.0099061311)},
 {FIX16(-2.28152736), FIX16(-0.70685991), FIX16(1.96007035)},
 {FIX16(-2.28152736), FIX16(-0.70735356), FIX16(-2.00165268)},
};

const u16 cube1_poly_ind[43] = {
4, 0,6,2,8 ,
5, 0,8,7,5,1 ,
4, 1,4,3,0 ,
4, 2,6,3,9 ,
5, 4,5,7,9,3 ,
3, 7,8,2 ,
3, 9,7,2 ,
3, 3,6,0 ,
3, 1,5,4 ,
};

const u16 cube1_line_ind[68] = {
 0, 6, 
 6, 2, 
 2, 8, 
 8, 0, 
 0, 8, 
 8, 7, 
 7, 5, 
 5, 1, 
 1, 0, 
 1, 4, 
 4, 3, 
 3, 0, 
 0, 1, 
 2, 6, 
 6, 3, 
 3, 9, 
 9, 2, 
 4, 5, 
 5, 7, 
 7, 9, 
 9, 3, 
 3, 4, 
 7, 8, 
 8, 2, 
 2, 7, 
 9, 7, 
 7, 2, 
 2, 9, 
 3, 6, 
 6, 0, 
 0, 3, 
 1, 5, 
 5, 4, 
 4, 1, 
};

const Vect3D_f16 cube1_face_norm[9] = {
 {FIX16(-0.952405967038), FIX16(-0.212873368822), FIX16(0.21819212359)},
 {FIX16(0.268267879095), FIX16(-0.918147667973), FIX16(0.291611393539)},
 {FIX16(6.12220604969e-07), FIX16(0.999999992237), FIX16(-0.000124605792033)},
 {FIX16(-0.953269223073), FIX16(-0.213439388571), FIX16(-0.213825666719)},
 {FIX16(0.29589267598), FIX16(-0.900733281533), FIX16(-0.318004842479)},
 {FIX16(0.267211509274), FIX16(-0.918379301544), FIX16(0.291851790825)},
 {FIX16(0.26530989166), FIX16(-0.92061730788), FIX16(-0.286486358871)},
 {FIX16(-0.764784241001), FIX16(0.644286472209), FIX16(-8.02818283463e-05)},
 {FIX16(1.0), FIX16(0.0), FIX16(0.0)},
};

const u16 cube1_face_color[9] = {
0,
0,
0,
0,
0,
1,
1,
2,
3,
};
polymesh cube1_p = {
    10,
    9,
    34,
    {FIX16(-0.759363311),FIX16(-0.4449965248),FIX16(-0.019895926345)},
    (Vect3D_f16 *) cube1_coord,
    (u16 *) cube1_poly_ind,
    (u16 *) cube1_line_ind,
    (Vect3D_f16 *) cube1_face_norm,
    {FIX16(0)},
    (u16 *) cube1_face_color
};

const u16 polymesh_palette[4] = {
0x0e00,
0x0666,
0x000e,
0x00ee,
};
u8 polymesh_pal_len = 4;
polymesh polymesh_list[1] = {
&cube1_p,
};
u16 polymesh_list_len = 1;
#endif
